package com.todo.partner.infrastructure.repository;


import com.todo.common.common.entity.response.page.PageResult;
import com.todo.partner.infrastructure.entity.condition.ContentPartnerCondition;
import com.todo.partner.infrastructure.entity.po.ContentPartnerPO;

import java.util.List;

/**
 * (ContentPartner)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 21:10:04
 */
public interface ContentPartnerRepository {

    /**
     * 根据条件查询出行搭子内容信息
     *
     * @param contentPartnerCondition
     * @return
     */
    PageResult<ContentPartnerPO> queryContentPartnerByCondition(ContentPartnerCondition contentPartnerCondition);

    /**
     * 根据条件查询出行搭子内容信息数量
     *
     * @param contentPartnerCondition
     * @return
     */
    Long queryCountByCondition(ContentPartnerCondition contentPartnerCondition);

    /**
     * 新增出行搭子内容信息
     *
     * @param contentPartnerPO
     * @return
     */
    Boolean insertContentPartner(ContentPartnerPO contentPartnerPO);

    /**
     * 根据主键id更新出行搭子内容信息
     *
     * @param contentPartnerPO
     * @return
     */
    Boolean updateContentPartnerById(ContentPartnerPO contentPartnerPO);

    /**
     * 根据主键删除出行搭子内容
     *
     * @param id
     * @return
     */
    Boolean removeContentPartnerById(Long id);

    /**
     * 根据主键查询出行搭子内容信息
     *
     * @param id
     * @return
     */
    ContentPartnerPO queryContentPartnerPOById(Long id);

    /**
     * 根据主键id查询出行搭子详情
     *
     * @param id
     * @return
     */
    ContentPartnerPO queryPartnerContentDOById(Long id);

    /**
     * 根据内容id出行搭子内容
     *
     * @param contentId
     * @return
     */
    ContentPartnerPO queryContentPartnerPOByContentId(Long contentId);

    /**
     * 根据内容id删除活出行搭子内容
     *
     * @param contentId
     * @return
     */
    Boolean removeContentPartnerByContentId(Long contentId);

    /**
     * 根据主键id列表查询出行搭子详情
     *
     * @param idList
     * @return
     */
    List<ContentPartnerPO> queryContentPartnerList(List<Long> idList);
}
